A business object is a software code construct that corresponds directly to a thing in the actual business the software is meant to represent. The business object can encapsulate the business logic related to the thing, and can encapsulate the data that is required by the logic and also describes, defines, makes up, is contained by, and/or is associated with the thing. The business objects and their components may generally be recognizable to a non-technical entity, such as the software's users, business analysts, and the like. Each business object can include data that describes or is attributed to the object and methods that make decisions based on that data. Business objects can be associated with real-world items and concepts; however, some business objects are more conceptual in nature, but still have a real-world counterpart.
Business objects are constantly changing based on events in the overall business system and user or customer interactions. In current solutions, data for analyzing business object histories are created by daily copying of business object data from an operational data store (ODS) into a separate online analytical processing (OLAP) cube of a data warehouse. The historical versions of a given business object instance are distinguished by the date of a record that is copied into the relevant historical OLAP cube. Daily historical versions are created even where the business object data was not modified since the previous archiving action, leading to redundancy and increased data volume. Further, reconstruction of the historical data is not fully supported. If certain attributes of a business object are newly identified as historically relevant and should be archived, no opportunities exist to capture the previous instances and changes to those attributes prior to their designation as historically relevant.